/*
 * key.c
 *
 *  Created on: Sep 13, 2024
 *      Author: Administrator
 */

#include "key.h"


uint8_t get_currentKey()
{

	static uint8_t flag = 0;
	if(((HAL_GPIO_ReadPin(KEY1_GPIO_Port, KEY1_Pin) == 0)||(HAL_GPIO_ReadPin(KEY2_GPIO_Port, KEY2_Pin) == 0)||(HAL_GPIO_ReadPin(KEY3_GPIO_Port, KEY3_Pin) == 0)
			||(HAL_GPIO_ReadPin(KEY4_GPIO_Port, KEY4_Pin) == 0)||(HAL_GPIO_ReadPin(KEY5_GPIO_Port, KEY5_Pin) == 0)||(HAL_GPIO_ReadPin(KEY6_GPIO_Port, KEY6_Pin) == 0)
			||(HAL_GPIO_ReadPin(KEY7_GPIO_Port, KEY7_Pin) == 0)||(HAL_GPIO_ReadPin(KEY8_GPIO_Port, KEY8_Pin) == 0))&&(flag == 0))
	{
		HAL_Delay(20);
		if(HAL_GPIO_ReadPin(KEY1_GPIO_Port, KEY1_Pin) == 0)
		{
			flag = 1;
			return 1;
		}else if(HAL_GPIO_ReadPin(KEY2_GPIO_Port, KEY2_Pin) == 0)
		{
			flag = 1;
			return 2;
		}else if(HAL_GPIO_ReadPin(KEY3_GPIO_Port, KEY3_Pin) == 0)
		{
			flag = 1;
			return 3;
		}else if(HAL_GPIO_ReadPin(KEY4_GPIO_Port, KEY4_Pin) == 0)
		{
			flag = 1;
			return 4;
		}else if(HAL_GPIO_ReadPin(KEY5_GPIO_Port, KEY5_Pin) == 0)
		{
			flag = 1;
			return 5;
		}else if(HAL_GPIO_ReadPin(KEY6_GPIO_Port, KEY6_Pin) == 0)
		{
			flag = 1;
			return 6;
		}else if(HAL_GPIO_ReadPin(KEY7_GPIO_Port, KEY7_Pin) == 0)
		{
			flag = 1;
			return 7;
		}else if(HAL_GPIO_ReadPin(KEY8_GPIO_Port, KEY8_Pin) == 0)
		{
			flag = 1;
			return 8;
		}
	}
	if((HAL_GPIO_ReadPin(KEY1_GPIO_Port, KEY1_Pin) == 1)&&(HAL_GPIO_ReadPin(KEY2_GPIO_Port, KEY2_Pin) == 1)&&
			(HAL_GPIO_ReadPin(KEY3_GPIO_Port, KEY3_Pin) == 1)&&(HAL_GPIO_ReadPin(KEY4_GPIO_Port, KEY4_Pin) == 1)
			&&(HAL_GPIO_ReadPin(KEY5_GPIO_Port, KEY5_Pin) == 1)&&(HAL_GPIO_ReadPin(KEY6_GPIO_Port, KEY6_Pin) == 1)
			&&(HAL_GPIO_ReadPin(KEY7_GPIO_Port, KEY7_Pin) == 1)&&(HAL_GPIO_ReadPin(KEY8_GPIO_Port, KEY8_Pin) == 1)&&(flag == 1))
	{
		flag = 0;
	}
	return 0;
}
